Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

05 우선순위큐 #5

Open
wants to merge 7 commits into
base: main
Choose a base branch
from
Open

05 우선순위큐 #5

wants to merge 7 commits into from

Conversation

rahaaaiii
Copy link
Collaborator

인적사항
학번 : 2271092
이름 : 이한선

과제제출
기존 제출 : 14235, 2075, 2607
추가제출 : 2607

@rahaaaiii
Copy link
Collaborator Author

추가제출 : 2607

Copy link

@kimhj010502 kimhj010502 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[우선순위 큐 알고리즘 문제 코드 리뷰 완료]

14235(P2), 2075(P3)

한선님 안녕하세요!
과제하시느라 수고 많으셨습니다!! 어려운 문제인데도 잘 풀어주셨네요! 🥰
코드에 대한 더 자세한 주석이 있으면 더 좋을 것 같아요. 😎
몇 가지 사소한 코멘트 드렸습니다.
궁금한 점이 있으면 리뷰어를 호출해주세요!

Comment on lines +14 to +20
cin>>k;
if(k!=0){//a값을 입력받는 경우
a=k;
for(int j=0; j<a; j++){
cin>>k;
pq.push(k);
}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2. k와 a를 다른 변수로 사용하는 게 좋아요! k로 입력받았으면 반복문의 범위를 for (int j=0; j<k; j++)로 두고 반복문 안에서 a를 입력받아 pq에 삽입해주세요~!

Comment on lines +33 to +35
for(int i=0; i<ans.size(); i++){
cout<<ans[i]<<"\n";
}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

연산을 진행하며 vector에 결과값을 저장해서 한번에 출력하는 지금의 방식도 좋지만 하나하나 진행할동안 바로 출력해줘도 좋을 것 같아요!


using namespace std;

int main()

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P3. 문제 조건에 맞게 잘 구현해주셨네요!


using namespace std;

vector<char> s;
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

알튜비튜에서는 의도치 않은 값 변경 가능성, 가독성 저하 등의 이유로 꼭 필요한 상황이 아니면 전역변수 사용을 지양하도록 하고 있습니다. 메인함수 안에서 선언하여 외부함수로 전달해주시면 좋을 것 같아요!

Comment on lines 28 to 33
void wordCheck(int &count, string in){
vector<char> cmp(in.size());

for(int i=0; i<in.size(); i++){
cmp.push_back(in[i]);
}
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

지금 메인함수와 wordCheck함수에서 in이라는 변수명과, 특정값을 벡터에 삽입하는 과정이 반복되고 있습니다. 이 경우 가독성을 위하여 변수명에 차이를 두는 것이 좋을 것 같습니다.😊

Comment on lines 71 to 73
for(int i=0; i<in.size(); i++){
wordCheck(count, in[i]);
}
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

들어오는 단어들을 벡터에 넣어두고, 그 벡터에서 단어들을 하나씩 꺼내 다시 for문을 돌며 wordCheck 함수를 실행하고 있는데요! 그럴 필요 없이 n-1만큼 반복문을 돌며 그때그때 단어를 입력받고 wordCheck를 호출하면 더 간결해질 것 같습니다.👍

Comment on lines 9 to 27
int samestructCheck(vector<char> cmp){//cmp가 s에 포함된다면~ 을 check 포함관계인지
//다른 문자의 개수를 n으로 세기
//같은 구성이라면
int k=0;//s에 포함되지 않는 cmp의 문자 종류의 개수
int flag=0;
if(cmp.size()<s.size()) swap(cmp, s);
for(int i=0; i<s.size(); i++){
for(int j=0; j<cmp.size(); j++){
if(s[i]==cmp[j]){
flag=1;
break;
}
}
if(flag!=1) k++;
flag=0;
}
return k;

}
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

우리가 비교하려는 두 단어가 모두 알파벳으로 이루어져 있고, 우리가 알고자 하는 것이 두 단어가 얼마만큼의 차이를 가지는가 임을 생각해봅시다. 어떤 새로운 공간에 두 단어의 알파벳의 개수를 저장해 놓으면 비교가 쉬워질 것 같아요!

Copy link

@sawoll sawoll left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[추가제출 확인 완료]

안녕하세요 한선님! 추가제출 확인되었습니다. 이전에 제출하신 2607번에 코멘트 몇 가지 달아두었습니다. 수고 많으셨습니다.😍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants